-
Notifications
You must be signed in to change notification settings - Fork 7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DM-46158: Add workflow to perform schema comparisons and check for changes to deployed schemas #277
Conversation
eb88b7e
to
80b68f4
Compare
fcba30b
to
72a9e39
Compare
0d2da16
to
56b078f
Compare
d0b379f
to
cb91907
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two significant changes:
- Trigger only on PRs, and do the diff against the base ref of the PR
- Modify the .yaml changes on the PR to have one file with a non-schema-changing change to a deployed schema, one with a schema-changing change to a deployed schema, and one with a schema-changing change to a non-deployed schema
Following the next review of this PR:
- all three .yaml file changes must be removed from the PR before merging.
8e21f7c
to
319d41a
Compare
319d41a
to
8b33d32
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good!
Approved assuming a) "DO NOT MERGE" commits (used only for testing) are dropped and b) the commit with the DEPLOYED.txt
file is kept separate from the workflow changes.
a99d2d5
to
bede84e
Compare
I've corrected a problem where there was an error if no changes had occurred. And I have updated the workflow so that it skips subsequent skips when there are no changes. I tested these updates for both cases by also re-committing and testing on the dummy schema changes, which I then dropped, again. |
492fe22
to
56930a6
Compare
56930a6
to
6a9c461
Compare
This PR adds a workflow that will check for changes in schemas using the
felis diff
command. One comparison is performed using thedeepdiff
comparator, which will show all changes, including ones to metadata fields, e.g.,ivoa_ucd
. Another comparison step will usealembic
, which will only show updates that affect the relational data model.Finally, a comparison using the
alembic
mode will be performed on each schema from a list of "deployed" schema YAML files (which is also added by this PR). An error will be raised if any of them have changed (dp02_dc2
, etc.).A preliminary step in the workflow uses
git diff
to detect which files were changed. Files which were not changed in the repository need not be checked.Blocked by lsst/felis#109This is merged now. ^^^^